The present invention relates to a voice signal processor provided with a function for converting a logarithm-compressed CODEC signal to a linear signal and for converting a linear signal to a logarithm-compressed signal, and more particularly, to voice signal processing that performs calculations on such signals.
A typical voice signal has a relatively wide dynamic range and requires many levels for quantization. To reduce the number of the quantization levels using a non-linear quantization process, a logarithm-compressed conversion code may be employed. In logarithm-compressed conversion, digital curve approximate compression is used for digitizing a voice signal. In other words, a sampled signal is subjected to logarithm compression, and then uniform quantization is performed. To demodulate the signal, the signal is subjected to decompression having transmission characteristics opposite to those of compression.
The G.711 standard defined by the ITU is a compression algorithm most commonly used for communication networks throughout the world. In the G.711 standard, two logarithm quantization laws (A Law and μ Law) are used in various types of networks for pulse code modulation (PCM). More specifically, a linear PCM sample having 13 bits in the A Law or 14 bits in the μ Law is compressed using 8 bit logarithm characteristics (see, for example, pp. 234 to 244 of “Introduction to AD/DA Conversion Circuits” by Iwao Sagara, NIKKAN KOGYOSHA, published on Nov. 28, 1991).
In the μ Law, the amplitude of an entire analog signal, which is a voice signal, is equally divided into sixteen rough step 15 segments. Eight bits are employed with one bit functioning as a sign bit representing polarity (MSB) and three bits functioning as segment bits representing corresponding curves. Next, each of the curves is divided linearly into sixteen equal sections and then allocated as a 4-bit step bit. As a result, one word corresponds to 8 bits. In the A Law, the analog signal is equally divided into fourteen 13 segments including positive and negative areas and then each of the segments is divided into sixteen segments. Currently, the μ Law is employed in Japan and America and the A Law is employed mainly in Europe for digital telephones.
In the above-described voice signal processing, multiplication and accumulation calculation is necessary for processing a linear signal (using filters such as an infinite impulse response filter (IIR) and a finite impulse response filter (FIR)). However, when controlling the processing of a linear signal or a non-linear signal (using an adaptive filter, an auto gain controller (AGC), a level limiter, or a level comparer), multiplication or division is necessary for calculating power, signal ratio, and gain. Further, there are functions that require logarithm characteristics. These calculations require a relatively large number of commands, complicated calculations, special function blocks, and processors that operate at high speeds. Thus, in many cases, a signal processor includes a multiply and accumulate unit (MAC) for efficiently processing a linear signal. However, when a division must be performed multiple commands must be combined.
Furthermore, through logarithm conversion, multiplication and division may be converted to addition and subtraction to reduce the number of necessary calculations. However, for this purpose, a logarithm conversion mechanism (a specific calculation mechanism for a table reference method) becomes necessary. That is, additional memory and additional commands become necessary.